package com.atserver.dataformat;

import java.io.File;
import java.util.List;

/**
 * @program: javatrainingfirstweek
 * @Description: 数据操作，如数据的导入和导出
 * @author: Mr.Cheng
 * @date: 2022/4/10 4:30 下午
 */
public interface DataOperation<T> {
    /**
    * @Description: data export to a file
    * @Param: [data]
    * @return: int
    * @Author: Mr.Cheng
    * @Date: 2022/4/10 4:33 下午
    */
    int dataToFileExport(T data);

    /**
    * @Description: data import from a file
    * @Param: [file]
    * @return: T
    * @Author: Mr.Cheng
    * @Date: 2022/4/10 4:34 下午
    */
    T fileToDataImport(File file, Class<T> clazz);

    /**
    * @Description: list data is imported from a file
    * @Param: [file, clazz]
    * @return: T
    * @Author: Mr.Cheng
    * @Date: 2022/4/18 3:03 上午
    */
    List<T> fileToListDataImport(File file);
}
